
*Eitan Hersh and Sarang Shah
*Replication Code for "Who Wants Stakeholder Capitalism?"

u replication_elite_surveydata, clear



******************************
**PREPPING DATA FOR ANALYSIS 


drop weight

gen preg3 = 1 if party == "DEM"
replace preg3 = -1 if party == "REP"
replace preg3 = 0 if party != "DEM" & party != "REP"
gen fem = gender == "female"
gen rac5 = 5 if race == "caucasian"
replace rac5 = 4 if race == "asian"
replace rac5 = 3 if race == "hispanic"
replace rac5 = 2 if race  == "black"
replace rac5 = 1 if race == "nativeAmerican" | race == "other" | race == "unknown"

merge 1:1 person_id using pid_recode_SS, nogen
replace pid = pid_rec if pid ==6 
gen pid3_self = 3 if pid == 1 | pid == 2
replace pid3_self = 2 if pid == 3 
replace pid3_self = 1 if pid == 4 | pid == 5


gen dem = 1 if pid3_se == 3
replace dem = 0 if pid3_s == 1 | pid3_s == 2
gen rep = 1 if pid3_se == 1
replace rep = 0 if pid3_s == 2 | pid3_s == 3


replace title = lower(title)
gen title_lawyer = 1 if strpos(title, "attorney") > 0 | strpos(title, "counsel") > 0
gen title_exec = 1 if strpos(title, "executive") > 0
gen title_vp = 1 if strpos(title, "vice president") > 0 | strpos(title, "vp") > 0
gen title_principal = 1 if strpos(title, "principal") > 0
gen title_shareholder = 1 if strpos(title, "shareholder" ) > 0
gen title_partner =1 if strpos(title, "partner") > 0
gen title_president  = 1 if strpos(title, "president") > 0 & title_vp != 1
gen title_founder = 1 if strpos(title, "founder") > 0
gen title_ceo = 1 if strpos(title, "ceo") > 0
gen title_csuite = 1 if strpos(title, "cfo") > 0 | strpos(title, "coo") > 0 | strpos(title, "cmo") > 0 | strpos(title, "cio") > 0 | strpos(title, "chief") > 0 | strpos(title, "cto") > 0
gen title_chair = 1 if strpos(title, "chair") > 0 
gen title_director = 1 if strpos(title, "director") > 0
gen title_manager = 1 if strpos(title, "manager") > 0
gen title_owner =1 if strpos(title, "owner" ) >0 

recode title_* (.=0) if respond == 1


egen title_other = rowtotal(title_lawyer-title_owner)
gen no_title = 1 if title_other == 0 & respond == 1
replace no_title = 0 if title_other != 0
drop title_other


gen ft_worker = 1 if employment == 1
recode ft_worker  .=0 if respond == 1
gen ftpt_consult  =1 if employment ==1 | employment ==2 | employment == 4
recode ftpt_cons  . =0 if respond == 1


gen age5 = 1 if age <45
replace age5 = 2 if age >=45 & age <50
replace age5 = 3 if age >=50 & age <55
replace age5 = 4 if age >=55 & age <60
replace age5 = 5 if age >=60 & age <=65


*Employee count 
merge 1:1 person_id using employees_recode_SS, nogen
destring employees, force gen(employees2)
replace employees2 = employees_recode if employees_recode != . 
replace employees2 = 2000 if employees == "2000+" & employees2 == .
drop employees
ren employees2 employees
drop employees_re

gen emply5 = 1 if employee <10
replace emply5  = 2 if employee >=10 & employee <100
replace emply5 = 3 if employee >=100 & employee <1000
replace emply5 = 4 if employee >=1000 & employee <10000
replace emply5 = 5 if employee >=10000 & employee != . 
tab emply5 if ft_worker ==1 [aw=weight]

destring role, replace
recode role 2=0


replace income = "5" if income == "4,5"
destring income, replace


merge 1:1 person_id using industry_recode_SS, nogen

tab industry_recode, gen(inds_)
ren inds_1 inds_fire
ren inds_2 inds_health
ren inds_3 inds_law
ren inds_4 inds_consult
ren inds_5 inds_nonprof
ren inds_7 inds_retail
ren inds_8 inds_tec
ren inds_6 inds_oth

move inds_oth inds_tec
gen employees1000 = 1 if emply5 ==4 | emply5 == 5
recode employees1000 .=0 if emply5 !=.


merge 1:1 person_id using tenure_recode_SS, nogen
destring tenure, gen(ten2) force
replace ten2 = tenure_recode if tenure_recode != .
replace ten2 = 4 if tenure == "4 years" & ten2 == . 
replace ten2 = 36 if tenure == 	"36 years" & ten2 ==. 
drop tenure tenure_recode 
ren ten2 tenure


merge 1:1 person_id using hours_recode, nogen
sum hours_re if ft_w == 1 [aw=weight], detail


*Response rate
tab respond return, row mis
tab return
*Total solicited: 9998
*Total return to sender: 187
*Total responses: 699
*Response rate: 699/(9998-187) = 7%
tab online


**************
***TABLE 1****
**************
tab preg3 if resp != 2
tab fem if resp != 2
tab rac5 if resp != 2
sum age if resp != 2, detail

tab preg3 if resp != 2 [aw=initial]
tab fem if resp != 2 [aw=initial]
tab rac5 if resp != 2 [aw=initial]
sum age if resp != 2 [aw=initial], detail

tab preg3 if resp == 1
tab fem if resp == 1 
tab rac5 if resp == 1 
sum age if resp == 1, detail 

tab preg3 if resp == 1  [aw=weight]
tab fem if resp == 1 [aw=weight]
tab rac5 if resp == 1 [aw=weight]
sum age [aw=weight] if resp == 1, detail 

tab preg3 if resp == 1 & ft_w ==1  [aw=weight]
tab fem if resp == 1  & ft_w ==1 [aw=weight]
tab rac5 if resp == 1  & ft_w ==1 [aw=weight]
sum age [aw=weight] if resp == 1  & ft_w ==1, detail 



**************
***TABLE 2****
**************
sum title_* no_titl if ft_worker ==1 [aw=weight]
tab industry_re if ft_w == 1 [aw=weight]




*Appetitle for National Leaders Involvment


gen appetite = 1 if allcorp_appet == "3" | allcorp_app == "4"
replace appetite = 0 if allcorp_app == "1" | allcorp_app == "2" | allcorp_app == "5"

***********
*Statistics here are saved in natl_appetite Excel sheet, which are used to create Figure 1. For code for Figure 1, see below where all Figures are created.
ci mean appetite if ft_w ==1 [aw=weight]
ci mean appetite if ft_w ==1 & dem ==1 [aw=weight]
ci mean appetite if ft_w ==1 & rep ==1 [aw=weight]

destring allcorp_appet, force gen(ap4)
recode ap4 5=.
tab ap4 if ft_w == 1 & dem ==1 [aw=weight]
tab ap4 if ft_w == 1 & rep ==1 [aw=weight]
***********


split allcorp_policy, p(",")

gen allcp_bizregs = 1 if allcorp_policy1 == "1" | allcorp_policy2 == "1" | allcorp_policy3== "1"  | allcorp_policy4 == "1"  | allcorp_policy5 == "1"  | allcorp_policy6 == "1"  | allcorp_policy7 == "1"  | allcorp_policy8 == "1" 
gen allcp_eclocal = 1 if allcorp_policy1 == "2" | allcorp_policy2 == "2" | allcorp_policy3== "2"  | allcorp_policy4 == "2"  | allcorp_policy5 == "2"  | allcorp_policy6 == "2"  | allcorp_policy7 == "2"  | allcorp_policy8 == "2" 
gen allcp_ecnat = 1 if allcorp_policy1 == "3" | allcorp_policy2 == "3" | allcorp_policy3== "3"  | allcorp_policy4 == "3"  | allcorp_policy5 == "3"  | allcorp_policy6 == "3"  | allcorp_policy7 == "3"  | allcorp_policy8 == "3" 
gen allcp_tradefor = 1  if allcorp_policy1 == "4" | allcorp_policy2 == "4" | allcorp_policy3== "4"  | allcorp_policy4 == "4"  | allcorp_policy5 == "4"  | allcorp_policy6 == "4"  | allcorp_policy7 == "4"  | allcorp_policy8 == "4"
gen allcp_social =1 if allcorp_policy1 == "5" | allcorp_policy2 == "5" | allcorp_policy3== "5"  | allcorp_policy4 == "5"  | allcorp_policy5 == "5"  | allcorp_policy6 == "5"  | allcorp_policy7 == "5"  | allcorp_policy8 == "5"
gen allcp_workforce = 1 if allcorp_policy1 == "6" | allcorp_policy2 == "6" | allcorp_policy3== "6"  | allcorp_policy4 == "6"  | allcorp_policy5 == "6"  | allcorp_policy6 == "6"  | allcorp_policy7 == "6"  | allcorp_policy8 == "6"
gen allcp_envir = 1 if allcorp_policy1 == "7" | allcorp_policy2 == "7" | allcorp_policy3== "7"  | allcorp_policy4 == "7"  | allcorp_policy5 == "7"  | allcorp_policy6 == "7"  | allcorp_policy7 == "7"  | allcorp_policy8 == "7"
gen allcp_election = 1 if allcorp_policy1 == "8" | allcorp_policy2 == "8" | allcorp_policy3== "8"  | allcorp_policy4 == "8"  | allcorp_policy5 == "8"  | allcorp_policy6 == "8"  | allcorp_policy7 == "8"  | allcorp_policy8 == "8"
gen allcp_other = 1 if allcorp_policy1 == "9" | allcorp_policy2 == "9" | allcorp_policy3== "9"  | allcorp_policy4 == "9"  | allcorp_policy5 == "9"  | allcorp_policy6 == "9"  | allcorp_policy7 == "9"  | allcorp_policy8 == "9"
gen allcp_dk = 1 if allcorp_policy1 == "10" | allcorp_policy2 == "10" | allcorp_policy3== "10"  | allcorp_policy4 == "10"  | allcorp_policy5 == "10"  | allcorp_policy6 == "10"  | allcorp_policy7 == "10"  | allcorp_policy8 == "10"
gen allcp_none = 1 if allcorp_policy1 == "11" | allcorp_policy2 == "11" | allcorp_policy3== "11"  | allcorp_policy4 == "11"  | allcorp_policy5 == "11"  | allcorp_policy6 == "11"  | allcorp_policy7 == "11"  | allcorp_policy8 == "11"

gen allcorp_areas = 0 if allcp_none ==1 
replace allcorp_areas = 1 if allcp_bizregs ==1 & allcp_ecloc != 1 & allcp_ecnat != 1 & allcp_trade != 1 & allcp_social != 1 & allcp_workfor != 1 & allcp_envir != 1 & allcp_election != 1 & allcp_other != 1
replace allcorp_areas =2 if  allcp_ecloc == 1 | allcp_ecnat == 1 | allcp_trade == 1 | allcp_social == 1 | allcp_workfor == 1 | allcp_envir == 1 | allcp_election == 1 | allcp_other ==1 

tab allcorp_areas if ft_w ==1 [aw=weight]
tab allcorp_areas if ft_w ==1 & dem == 1 [aw=weight]
tab allcorp_areas if ft_w ==1 & rep == 1 [aw=weight]

recode allcp_bizregs-allcp_none (.=0) if allcorp_area != .


***********
*Statistics here are saved in natl_policies Excel sheet, which are used to create Figure 2. For code for Figure 2, see below where all Figures are created.
ci mean allcp_biz-allcp_none if ft_w == 1 [aw=weight]
ci mean allcp_biz-allcp_none if ft_w == 1 & dem ==1 [aw=weight]
ci mean allcp_biz-allcp_none if ft_w == 1 & rep == 1 [aw=weight]
***********

gen rr_define = "purist" if allcp_none == 1 & ft_w == 1
replace rr_define = "shareholder" if allcp_biz == 1 & allcp_eclo == 0 & allcp_ecnat ==0 & allcp_trad == 0 & allcp_soci == 0 & allcp_work == 0 & allcp_envi == 0 & allcp_elec == 0 & allcp_oth ==0 & ft_w ==1
replace rr_define = "stakeholder" if (allcp_eclo == 1 | allcp_ecnat ==1 | allcp_trad == 1 | allcp_soci == 1 | allcp_work == 1 | allcp_envi == 1 | allcp_elec == 1 | allcp_oth ==1) & ft_w ==1

************
*TABLE 3, Business Elite Sample
tab rr_define if ft_w ==1 [aw=weight]
************


*Status Quo
gen sq_corpactive = corp_active
recode sq_corpactive 5=. 
gen sq_c2 = sq_corpactive
recode sq_c2 1 2 =0 3 4 = 1


split corp_policy, parse(",")

gen cp_bizregs = 1 if corp_policy1 == "1" | corp_policy2 == "1" | corp_policy3== "1"  | corp_policy4 == "1"  | corp_policy5 == "1"  | corp_policy6 == "1"  | corp_policy7 == "1"  | corp_policy8 == "1" 
gen cp_eclocal = 1 if corp_policy1 == "2" | corp_policy2 == "2" | corp_policy3== "2"  | corp_policy4 == "2"  | corp_policy5 == "2"  | corp_policy6 == "2"  | corp_policy7 == "2"  | corp_policy8 == "2" 
gen cp_ecnat = 1 if corp_policy1 == "3" | corp_policy2 == "3" | corp_policy3== "3"  | corp_policy4 == "3"  | corp_policy5 == "3"  | corp_policy6 == "3"  | corp_policy7 == "3"  | corp_policy8 == "3" 
gen cp_tradefor = 1  if corp_policy1 == "4" | corp_policy2 == "4" | corp_policy3== "4"  | corp_policy4 == "4"  | corp_policy5 == "4"  | corp_policy6 == "4"  | corp_policy7 == "4"  | corp_policy8 == "4"
gen cp_social =1 if corp_policy1 == "5" | corp_policy2 == "5" | corp_policy3== "5"  | corp_policy4 == "5"  | corp_policy5 == "5"  | corp_policy6 == "5"  | corp_policy7 == "5"  | corp_policy8 == "5"
gen cp_workforce = 1 if corp_policy1 == "6" | corp_policy2 == "6" | corp_policy3== "6"  | corp_policy4 == "6"  | corp_policy5 == "6"  | corp_policy6 == "6"  | corp_policy7 == "6"  | corp_policy8 == "6"
gen cp_envir = 1 if corp_policy1 == "7" | corp_policy2 == "7" | corp_policy3== "7"  | corp_policy4 == "7"  | corp_policy5 == "7"  | corp_policy6 == "7"  | corp_policy7 == "7"  | corp_policy8 == "7"
gen cp_election = 1 if corp_policy1 == "8" | corp_policy2 == "8" | corp_policy3== "8"  | corp_policy4 == "8"  | corp_policy5 == "8"  | corp_policy6 == "8"  | corp_policy7 == "8"  | corp_policy8 == "8"
gen cp_other = 1 if corp_policy1 == "9" | corp_policy2 == "9" | corp_policy3== "9"  | corp_policy4 == "9"  | corp_policy5 == "9"  | corp_policy6 == "9"  | corp_policy7 == "9"  | corp_policy8 == "9"
gen cp_none = 1 if corp_policy1 == "11" | corp_policy2 == "11" | corp_policy3== "11"  | corp_policy4 == "11"  | corp_policy5 == "11"  | corp_policy6 == "11"  | corp_policy7 == "11"  | corp_policy8 == "11"
gen cp_dk = 1 if corp_policy1 == "10" | corp_policy2 == "10" | corp_policy3== "10"  | corp_policy4 == "10"  | corp_policy5 == "10"  | corp_policy6 == "10"  | corp_policy7 == "10"  | corp_policy8 == "10"



recode cp_bizregs-cp_none (.=0) if corp_policy != ""
recode cp_bizregs-cp_none (0=.) if cp_dk == 1


*Appetite
recode corp_appetite_activi_1 1=1 2 =0 3= -1 4= ., gen(app_1)
recode corp_appetite_activi_2 1=1 2 =0 3= -1 4= ., gen(app_2)
recode corp_appetite_activi_3 1=1 2 =0 3= -1 4= ., gen(app_3)
recode corp_appetite_activi_4 1=1 2 =0 3= -1 4= ., gen(app_4)
recode corp_appetite_activi_5 1=1 2 =0 3= -1 4= ., gen(app_5)
recode corp_appetite_activi_6 1=1 2 =0 3= -1 4= ., gen(app_6)
recode corp_appetite_activi_7 1=1 2 =0 3= -1 4= ., gen(app_7)
recode corp_appetite_activi_8 1=1 2 =0 3= -1 4= ., gen(app_8)


***********
*Statistics here are saved in sq_policy Excel sheet, which are used to create Figure 3. For code for Figure 3, see below where all Figures are created.
ci mean cp_bizregs - cp_none if ft_w == 1 [aw=weight]
ci mean cp_bizregs - cp_none if ft_w == 1 & dem ==1  [aw=weight]
ci mean cp_bizregs - cp_none if ft_w == 1 & rep == 1 [aw=weight]


ci mean app_1-app_8 if ft_w ==1 [aw=weight]
ci mean app_1-app_8 if ft_w ==1 & dem ==1  [aw=weight]
ci mean app_1-app_8 if ft_w ==1 & rep ==1 [aw=weight]
***********


recode corp_level_activism_1 1=1 2 =0 3= -1 4= ., gen(mapp_1)
recode corp_level_activism_2 1=1 2 =0 3= -1 4= ., gen(mapp_2)
recode corp_level_activism_3 1=1 2 =0 3= -1 4= ., gen(mapp_3)
recode corp_level_activism_4 1=1 2 =0 3= -1 4= ., gen(mapp_4)
recode corp_level_activism_5 1=1 2 =0 3= -1 4= ., gen(mapp_5)
recode corp_level_activism_6 1=1 2 =0 3= -1 4= ., gen(mapp_6)
recode corp_level_activism_7 1=1 2 =0 3= -1 4= ., gen(mapp_7)
recode corp_level_activism_8 1=1 2 =0 3= -1 4= ., gen(mapp_8)


*This code saves the variables needed for combined analysis with elite and mass public samples. See below.
preserve
keep app_1-app_8 mapp_1-mapp_8 dem rep age inds_heal-inds_oth ft_w weight employees
keep if ft_w ==1  
drop ft_w
save elite_appetite.dta, replace
restore


*method of engagement
recode corp_activism_1 (1=1) (2=0) (nonmis =.), gen(meth1)
recode corp_activism_2 (1=1) (2=0) (nonmis =.), gen(meth2)
recode corp_activism_3 (1=1) (2=0) (nonmis =.), gen(meth3)
recode corp_activism_4 (1=1) (2=0) (nonmis =.), gen(meth4)
recode corp_activism_5 (1=1) (2=0) (nonmis =.), gen(meth5)
recode corp_activism_6 (1=1) (2=0) (nonmis =.), gen(meth6)
recode corp_activism_7 (1=1) (2=0) (nonmis =.), gen(meth7)
recode corp_activism_8 (1=1) (2=0) (nonmis =.), gen(meth8)


***********
*Statistics here are saved in sq_method Excel sheet, which are used to create Figure 4. For code for Figure 4, see below where all Figures are created.
ci mean meth1-meth8 if ft_w == 1 [aw=weight]
ci mean meth1-meth8 if ft_w == 1 & dem ==1  [aw=weight]
ci mean meth1-meth8 if ft_w == 1 & rep == 1 [aw=weight]

ci mean mapp_1-mapp_8 if ft_w ==1 [aw=weight]
ci mean mapp_1-mapp_8 if ft_w ==1 & dem ==1  [aw=weight]
ci mean mapp_1-mapp_8 if ft_w ==1 & rep ==1 [aw=weight]
***********

split activism_methods, p(",")
gen activism_none = 1 if activism_methods1 == "1" |  activism_methods2 == "1" |  activism_methods3 == "1" |  activism_methods4 == "1" |  activism_methods5 == "1" |  activism_methods6 == "1" 
gen activism_encourageemployee = 1 if activism_methods1 == "2" |  activism_methods2 == "2" |  activism_methods3 == "2" |  activism_methods4 == "2" |  activism_methods5 == "2" |  activism_methods6 == "2" 
gen activism_paidtime = 1 if activism_methods1 == "10" |  activism_methods2 == "10" |  activism_methods3 == "10" |  activism_methods4 == "10" |  activism_methods5 == "10" |  activism_methods6 == "10"
 gen activism_encouragecustomers = 1 if activism_methods1 == "3" |  activism_methods2 == "3" |  activism_methods3 == "3" |  activism_methods4 == "3" |  activism_methods5 == "3" |  activism_methods6 == "3" 
gen activism_execsmeet = 1 if activism_methods1 == "6" |  activism_methods2 == "6" |  activism_methods3 == "6" |  activism_methods4 == "6" |  activism_methods5 == "6" |  activism_methods6 == "6" 
gen activism_workersmeet = 1 if activism_methods1 == "7" |  activism_methods2 == "7" |  activism_methods3 == "7" |  activism_methods4 == "7" |  activism_methods5 == "7" |  activism_methods6 == "7"
gen activism_lobbysts = 1 if activism_methods1 == "8" |  activism_methods2 == "8" |  activism_methods3 == "8" |  activism_methods4 == "8" |  activism_methods5 == "8" |  activism_methods6 == "8"

recode activism_non-activism_lobby (.=0) if activism_methods != ""

***********
*Statistics here are saved in newmeth Excel sheet, which are used to create Figure 5. For code for Figure 5, see below where all Figures are created.
ci mean activism_non-activism_lobb if ft_w == 1 [aw=weight]
ci mean activism_non-activism_lobb if ft_w == 1 & dem == 1 [aw=weight]
ci mean activism_non-activism_lobb if ft_w == 1 & rep == 1 [aw=weight]
*********


recode mapp_1 -1 = 0, gen(altmap1)
recode mapp_2 -1 = 0, gen(altmap2)
recode mapp_3 -1 = 0, gen(altmap3)
recode mapp_4 -1 = 0, gen(altmap4)
recode mapp_5 -1 = 0, gen(altmap5)
recode mapp_6 -1 = 0, gen(altmap6)
recode mapp_7 -1 = 0, gen(altmap7)
recode mapp_8 -1 = 0, gen(altmap8)

egen wantmore = rowtotal(altmap1-altmap8), missing

recode activism_effects_1 1=1 2=-1 3=0 nonmis = ., gen(effects1)
recode activism_effects_2 1=1 2=-1 3=0 nonmis = ., gen(effects2)
recode activism_effects_3 1=1 2=-1 3=0 nonmis = ., gen(effects3)
recode activism_effects_4 1=1 2=-1 3=0 nonmis = ., gen(effects4)

***********
*Statistics here are saved in conseq Excel sheet, which are used to create Figure 6. For code for Figure 6, see below where all Figures are created.
ci mean effects1-effects4 if ft_w ==1  [aw=weight]
ci mean effects1-effects4 if ft_w ==1 & dem == 1  [aw=weight]
ci mean effects1-effects4 if ft_w ==1 & rep == 1  [aw=weight]
***********


gen age10s = age/10


**APPENDIX TABLE SI6 (see below for other appendix tables)
reg effects1  wantmore dem rep  if ft_w ==1 [aw=weight]
outreg2 using sicon, replace excel alpha(.05, .1) auto(2) par(se) depvar
reg effects2  wantmore dem rep   if ft_w ==1 [aw=weight]
outreg2 using sicon,  excel alpha(.05, .1) auto(2) par(se) depvar
reg effects3  wantmore dem rep  if ft_w ==1 [aw=weight]
outreg2 using sicon,  excel alpha(.05, .1) auto(2) par(se) depvar
reg effects4  wantmore dem rep  if ft_w ==1 [aw=weight]
outreg2 using sicon, replace excel alpha(.05, .1) auto(2) par(se) depvar
**********


**MASS PUBLIC Data
import spss using CCES22_TUF_OUTPUT.sav, clear

ren teamweight weight
gen forprofit = 1 if TUF301a == 1
replace forprofit = 0 if TUF301a > 1 & TUF301a != . 
gen dem = 1 if pid7 <=3
gen rep = 1 if pid7 >=5 & pid7 <=7
gen ind = 1 if pid7 == 4
recode dem rep ind (.=0)
gen age = 2022-birthyr

gen allcorp_app = TUF338
recode allcorp_app 1 2 5 =0 3 4 = 1

***********
*Statistics here are saved in natl_appetite Excel sheet, which are used to create Figure 1. For code for Figure 1, see below where all Figures are created.
ci mean allcorp [aw=weight]
ci mean allcorp if dem ==1  [aw=weight]
ci mean allcorp if rep ==1  [aw=weight]

gen ap4 = TUF338
recode ap4 5=. 
tab ap4 if dem ==1 [aw=weight]
tab ap4 if rep ==1  [aw=weight]
*****


gen allcorp_areas = 0 if TUF339_10 == 1 
replace allcorp_areas = 1 if TUF339_1 == 1 & TUF339_2 == 2 & TUF339_3 == 2 & TUF339_4 == 2 & TUF339_5 == 2 & TUF339_6 == 2 & TUF339_7 == 2 & TUF339_8 == 2 & TUF339_9 == 2
replace allcorp_areas =2 if TUF339_2 == 1 | TUF339_3 == 1 | TUF339_4 == 1 | TUF339_5 == 1 | TUF339_6 == 1 | TUF339_7 == 1 | TUF339_8 == 1 | TUF339_9 == 1


tab allcorp_areas [aw=weight]
tab allcorp_areas if dem == 1 [aw=weight]
tab allcorp_areas if rep == 1 [aw=weight]

gen area_regs =1 if TUF339_1 == 1
gen area_lecon = 1 if TUF339_2 == 1
gen area_necon = 1 if TUF339_3 == 1
gen area_trade = 1 if TUF339_4 == 1
gen area_social = 1 if TUF339_5 == 1
gen area_workforce = 1 if TUF339_6 == 1
gen area_envir = 1 if TUF339_7 == 1
gen area_elec = 1 if TUF339_8 == 1
gen area_none = 1 if TUF339_10 ==1

recode area_regs-area_non (.=0) if allcorp_are != . 

***********
*Statistics here are saved in natl_policies Excel sheet, which are used to create Figure 2. For code for Figure 2, see below where all Figures are created.
ci mean area_regs-area_non [aw=weight]
ci mean area_regs-area_non if dem ==1 [aw=weight]
ci mean area_regs-area_non if rep == 1 [aw=weight]
*******

gen rr_define = "purist" if area_non == 1
replace rr_define = "shareholder" if area_regs == 1 & area_lecon == 0 & area_necon ==0 & area_trad == 0 & area_soci == 0 & area_work == 0 & area_envi == 0 & area_elec == 0 
replace rr_define = "stakeholder" if  area_lecon == 1 | area_necon ==1 | area_trad == 1 | area_soci == 1 | area_work == 1 | area_envi == 1 | area_elec == 1 

**TABLE 3, Mass Public
tab rr_define [aw=weight]
 *******
 
 
tab TUF320 if forprof ==1 [aw=weight]
tab TUF321 if forprof ==1 [aw=weight]
tab TUF322 if forprof ==1 [aw=weight]
tab TUF323 if forprof ==1 [aw=weight]
tab TUF324 if forprof ==1 [aw=weight]
tab TUF325 if forprof ==1 [aw=weight]
tab TUF326 if forprof ==1 [aw=weight]
tab TUF327 if forprof ==1 [aw=weight]

recode TUF328 1=1 2 =0 3= -1 4= ., gen(mapp_1)
recode TUF329 1=1 2 =0 3= -1 4= ., gen(mapp_2)
recode TUF330 1=1 2 =0 3= -1 4= ., gen(mapp_3)
recode TUF331 1=1 2 =0 3= -1 4= ., gen(mapp_4)
recode TUF332 1=1 2 =0 3= -1 4= ., gen(mapp_5)
recode TUF333 1=1 2 =0 3= -1 4= ., gen(mapp_6)
recode TUF334 1=1 2 =0 3= -1 4= ., gen(mapp_7)
recode TUF335 1=1 2 =0 3= -1 4= ., gen(mapp_8)
sum mapp_1-mapp_8 if forprof ==1 [aw=weight]

recode TUF328 1=1 2 =0 3= -1 4= ., gen(app_1)
recode TUF329 1=1 2 =0 3= -1 4= ., gen(app_2)
recode TUF330 1=1 2 =0 3= -1 4= ., gen(app_3)
recode TUF331 1=1 2 =0 3= -1 4= ., gen(app_4)
recode TUF332 1=1 2 =0 3= -1 4= ., gen(app_5)
recode TUF333 1=1 2 =0 3= -1 4= ., gen(app_6)
recode TUF334 1=1 2 =0 3= -1 4= ., gen(app_7)
recode TUF335 1=1 2 =0 3= -1 4= ., gen(app_8)
sum app_1-app_8 if forprof ==1 [aw=weight]


recode TUF337_1 1=1 2=0, gen(meth1)
recode TUF337_2 1=1 2=0, gen(meth2)
recode TUF337_3 1=1 2=0, gen(meth3)
recode TUF337_4 1=1 2=0, gen(meth4)
recode TUF337_5 1=1 2=0, gen(meth5)
recode TUF337_6 1=1 2=0, gen(meth6)
recode TUF337_7 1=1 2=0, gen(meth7)

***********
*Statistics here are saved in newmeth Excel sheet, which are used to create Figure 5. For code for Figure 5, see below where all Figures are created.

ci mean meth1-meth7 if forprof == 1 [aw=weight]
ci mean meth1-meth7 if forprof == 1 & dem == 1 [aw=weight]
ci mean meth1-meth7 if forprof == 1 & rep == 1 [aw=weight]
****

keep app_1-app_8 mapp_1-mapp_8 weight forprof dem rep age
keep if forprof == 1
drop forprof
save mass_appetite.dta, replace



*******APPENDIX TABLES 2-5

  u elite_appetite.dta, clear
gen elite =1 
append using mass_appetite.dta
recode elite . =0
replace weight = weight_overall if elite == 1
gen dem_elite = dem*elite
gen rep_elite = rep*elite
gen age_elite = age*elite
replace age = age/10
gen dem_age = dem*age
gen emply = 1 if employees >= 1000 & employees != . 
replace emply = 0 if employees <1000 
drop employees 


***TABLE SI2***

reg app_1 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds, replace excel alpha(.05, .1) auto(2) par(se) depvar
reg app_2 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds, excel alpha(.05, .1) auto(2) par(se) depvar
reg app_3 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_4 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_5 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_6 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_7 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_8 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_app_inds,  excel alpha(.05, .1) auto(2) par(se) depvar

***TABLE SI3***
reg app_1 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app, replace excel alpha(.05, .1) auto(2) par(se) depvar
reg app_2 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app, excel alpha(.05, .1) auto(2) par(se) depvar
reg app_3 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_4 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_5 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_6 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_7 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app,  excel alpha(.05, .1) auto(2) par(se) depvar
reg app_8 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_app,  excel alpha(.05, .1) auto(2) par(se) depvar

***TABLE SI4***
reg mapp_1 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds, replace excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_2 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds, excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_3 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_4 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_5 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_6 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_7 dem rep age inds_heal-inds_oth empl  if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_8 dem rep age inds_heal-inds_oth empl if elite == 1 [aw=weight]
outreg2 using elite_mapp_inds,  excel alpha(.05, .1) auto(2) par(se) depvar


***TABLE SI5***
reg mapp_1 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp, replace excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_2 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp, excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_3 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_4 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_5 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_6 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_7 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp,  excel alpha(.05, .1) auto(2) par(se) depvar
reg mapp_8 dem rep age elite dem_eli rep_el age_el [aw=weight]
outreg2 using me_mapp,  excel alpha(.05, .1) auto(2) par(se) depvar


***TABLE SI1***
u all_census_zips, clear
merge 1:1 zip using  fortune500_zip, gen(fortune)
merge 1:1 zip using sample_zips, gen(samplezips)
tab fortune sample if fortune != 2 & sample != 2


*****************************************************
*****************************************************
********PRODUCTION OF FIGURES************************
*****************************************************
*****************************************************

***FIGURE 1***

 import excel engagement_paper_stats.xlsx, sheet("natl_appetite") clear first
  
  label define me 0 "Biz. Leaders" 1 "Mass Public"
  label values mass_elite me
  
  graph bar (mean) not (mean) rarely (mean) some (mean) very if pid == "dem", over(mass_elite, axis(lcolor(blue) lwidth(thick))) bar(1, fcolor(gs13)) bar(2, fcolor(gs10)) bar(3, fcolor(gs6)) bar(4, fcolor(black)) title(Democrats, color(blue)) legend(on order(1 "Not at all" 2 "Rarely" 3 "Somewhat" 4 "Very" ) rows(1)) plotregion(style(none)) yscale(noextend) saving(dhist.gph, replace) ylabel(0(10)60)
  
   graph bar (mean) not (mean) rarely (mean) some (mean) very if pid == "rep", over(mass_elite, axis(lcolor(red) lwidth(thick) )) bar(1, fcolor(gs13)) bar(2, fcolor(gs10)) bar(3, fcolor(gs6)) bar(4, fcolor(black)) title(Republicans, color(red)) legend(on order(1 "Not at all" 2 "Rarely" 3 "Somewhat" 4 "Very" ) rows(1)) plotregion(style(none)) yscale(noextend) saving(rhist.gph, replace) ylabel(0(10)60)
   
   replace overall_app = overall_app*100
   replace overallap_lb = overallap_lb*100
   replace overallap_ub = overallap_ub*100 
   
   twoway (rcap overallap_lb overallap_ub order if pid == "all" & mass == 1, lc(black%50) lw(medthick) horizontal)  (scatter order overall_app  if pid == "all" & mass == 1, msize(medlarge) mc(black%50) msymbol(circle_hollow)) ///
 (rcap overallap_lb overallap_ub order if pid == "dem" & mass == 1, lc(blue%50) lw(thin) horizontal)  (scatter order  overall_app  if pid == "dem" & mass == 1, msize(small) mc(blue%50) msymbol(circle_hollow)) ///
(rcap overallap_lb overallap_ub order if pid == "rep" & mass == 1, lc(red%50) lw(thin) horizontal)  (scatter order  overall_app  if pid == "rep" & mass == 1, msize(small) mc(red%50) msymbol(circle_hollow)) ///
  (rcap overallap_lb overallap_ub order if pid == "all" & mass == 0, lc(black) lw(medthick) horizontal)  (scatter order  overall_app  if pid == "all" & mass==0, msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap overallap_lb overallap_ub order if pid == "dem" & mass == 0, lc(blue) lw(thin) horizontal)  (scatter order overall_app if pid == "dem" & mass == 0, msize(small) mc(blue) msymbol(circle)) ///
(rcap overallap_lb overallap_ub order if pid == "rep" & mass ==0 , lc(red) lw(thin) horizontal)  (scatter order  overall_app  if pid == "rep" & mass ==0, msize(small) mc(red) msymbol(circle)), ///
ylabel(1 "Republicans" 2 "All" 3 "Democrats", angle(0)) ytitle("") xtitle(Percent Somewhat/Very Active) plotregion(style(none)) yscale(noextend) xscale(noextend) ///
 legend(on order(2 "CES (Mass Public)"  8 "Business Leaders") size(small) position(3) ring(0) cols(1) region(lcolor(none))) scale(.8) fysize(40) xlabel(0(20)100) xline(50)  saving(over.gph,replace)
 
grc1leg dhist.gph rhist.gph, legendfrom(dhist.gph) fysize(70) saving(histcomb.gph, replace)
 
 graph combine histcomb.gph over.gph, rows(2) iscale(1) xsize(6)

 
***FIGURE 2***

import excel engagement_paper_stats.xlsx, sheet("natl_policies") clear first
replace policy = policy*100
replace lb = lb*100 
replace ub = ub*100 

 twoway (rcap lb ub order if group == "all" & mass == 1, lc(black) lw(medthick) horizontal)  (scatter order  policy  if group == "all" & mass == 1, msize(medlarge) mc(black) msymbol(circle_hollow)) ///
 (rcap lb ub order if group == "dem" & mass == 1, lc(blue) lw(thin) horizontal)  (scatter order  policy  if group == "dem" & mass == 1, msize(small) mc(blue) msymbol(circle_hollow)) ///
(rcap lb ub order if group == "rep" & mass == 1, lc(red) lw(thin) horizontal)  (scatter order  policy  if group == "rep" & mass == 1, msize(small) mc(red) msymbol(circle_hollow)), ///
 ylabel(1 "None" 2 "Election Admin." 3 "Environment" 4 "Workforce" 5 "Social" 6 "Trade/Foreign" 7 "Nat'l Economy" 8 "Local Economy" 9 "Specific Regulations", angle(0)) /// 
 ytitle("") xtitle("Pct. Agree Companies Should Engage on Issues") plotregion(style(none)) yscale(noextend) xscale(noextend) legend(off) scale(.8) xsize(2) ysize(7) xlabel(0(20)100) xline(0 10 20 30 40 60 70 80 90 100, lpattern(dash) lcolor(gs10) lwidth(vthin)) xline(50, lcolor(gs8) lpattern(solid) lwidth(thin)) saving(natl_app_mass.gph, replace) subtitle(Mass Public) legend(on order(4 "Dems." 2 "All" 6 "Reps.") position(6) size(small) rows(1) region(lcolor(none))) 


 twoway (rcap lb ub order if group == "all" & mass == 0, lc(black) lw(medthick) horizontal)  (scatter order  policy  if group == "all" & mass == 0, msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap lb ub order if group == "dem" & mass == 0, lc(blue) lw(thin) horizontal)  (scatter order  policy  if group == "dem" & mass == 0, msize(small) mc(blue) msymbol(circle)) ///
(rcap lb ub order if group == "rep" & mass == 0, lc(red) lw(thin) horizontal)  (scatter order  policy  if group == "rep" & mass == 0, msize(small) mc(red) msymbol(circle)), ///
  ylabel(1 "None" 2 "Election Admin." 3 "Environment" 4 "Workforce" 5 "Social" 6 "Trade/Foreign" 7 "Nat'l Economy" 8 "Local Economy" 9 "Specific Regulations", angle(0)) ///
 ytitle("") xtitle("Pct. Agree Companies Should Engage on Issues") plotregion(style(none)) yscale(noextend) xscale(noextend) legend(off) scale(.8) xsize(2) ysize(7) xlabel(0(20)100) xline(0 10 20 30 40 60 70 80 90 100, lpattern(dash) lcolor(gs10) lwidth(vthin)) xline(50, lcolor(gs8) lpattern(solid) lwidth(thin)) saving(natl_app_elite.gph, replace) subtitle(Business Elites) legend(on order(4 "Dems." 2 "All" 6 "Reps.") size(small) position(6) rows(1) region(lcolor(none))) 

 
  
 graph combine natl_app_mass.gph natl_app_elite.gph, rows(1) xsize(7.5) ysize(7)
 
 
 
 ***FIGURE 3***
 
import excel engagement_paper_stats.xlsx, sheet("sq_policy") clear first
replace policy = policy*100
replace lb = lb*100 
replace ub = ub*100 


 twoway   (rcap lb ub order if group == "all" , lc(black) lw(medthick) horizontal)  (scatter order  policy  if group == "all" , msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap lb ub order if group == "dem", lc(blue) lw(thin) horizontal)  (scatter order  policy  if group == "dem" , msize(small) mc(blue) msymbol(square)) ///
(rcap lb ub order if group == "rep" , lc(red) lw(thin) horizontal)  (scatter order  policy  if group == "rep" , msize(small) mc(red) msymbol(diamond)), ///
 ylabel(1 "None" 2 "Election Admin." 3 "Environment" 4 "Workforce" 5 "Social" 6 "Trade/Foreign" 7 "Nat'l Economy" 8 "Local Economy" 9 "Specific Regulations", angle(0)) ///
 ytitle("") xtitle(Pct. Saying Own Company Currently Advocates) plotregion(style(none)) yscale(noextend) xscale(noextend) ///
 legend(on order(4 "Business Dems." 2 "All Biz. Leaders" 6 "Business Reps.") size(small) rows(1) region(lcolor(none))) scale(.8) xsize(5) ysize(7) xlabel(0(20)80) xline(0 10 20 30 40 60 70 80, lpattern(dash) lcolor(gs10) lwidth(vthin)) xline(50,  lcolor(gs8) lwidth(thin))   saving(sq1.gph, replace) title(Status Quo Advocacy)
 
  twoway   (rcap app_lb app_ub order if group == "all" , lc(black) lw(medthick) horizontal)  (scatter order  app_mean  if group == "all" , msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap app_lb app_ub order if group == "dem", lc(blue) lw(thin) horizontal)  (scatter order   app_mean  if group == "dem" , msize(small) mc(blue) msymbol(square)) ///
(rcap app_lb app_ub order if group == "rep" , lc(red) lw(thin) horizontal)  (scatter order   app_mean  if group == "rep" , msize(small) mc(red) msymbol(diamond)), ///
 ylabel("")  xlabel(-.75(.25).75) ///
 ytitle("") xtitle(Appetite for Own Company Engaging) plotregion(style(none)) yscale(noextend) xscale(noextend) ///
 legend(on order(4 "Business Dems." 2 "All Biz. Leaders" 6 "Business Reps.") size(small) rows(1) region(lcolor(none))) scale(.8) fxsize(55)  saving(sq2.gph, replace) title(Appetite for Advocacy) xline(0, lcolor(black) lwidth(medthin)) text(1 -.35 "Want LESS Advocacy", box bcolor(gs15)) text(1 .35 "Want MORE Advocacy", box bcolor(gs15))
 
 graph combine sq1.gph sq2.gph, rows(1)
 
 
 ***FIGURE 4***
 
import excel engagement_paper_stats.xlsx, sheet("sq_method") clear first
replace method = method*100
replace method_lb = method_lb*100 
replace method_ub = method_ub*100 


 twoway   (rcap method_lb method_ub order if group == "all" , lc(black) lw(medthick) horizontal)  (scatter order  method  if group == "all" , msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap method_lb method_ub order if group == "dem", lc(blue) lw(thin) horizontal)  (scatter order  method  if group == "dem" , msize(small) mc(blue) msymbol(square)) ///
(rcap method_lb method_ub order if group == "rep" , lc(red) lw(thin) horizontal)  (scatter order  method  if group == "rep" , msize(small) mc(red) msymbol(diamond)), ///
 ylabel(1 "Turn away Customers" 2 "Active in Industry Orgs." 3 "Supply Chain" 4 "Local Lobbying" 5 "State Lobbying" 6 "National Lobbying" 7 "Political Donations" 8 "Charitable Donations", angle(0)) ///
 ytitle("") xtitle(Pct. Saying Company Does Now) plotregion(style(none)) yscale(noextend) xscale(noextend) ///
 legend(on order(4 "Business Dems." 2 "All Biz. Leaders" 6 "Business Reps.") size(small) rows(1) region(lcolor(none))) scale(.8) xsize(5) ysize(7) xlabel(0(20)100) xlabel(0(20)80) xline(0 10 20 30 40 60 70 80, lpattern(dash) lcolor(gs10) lwidth(vthin)) xline(50,  lcolor(gs8) lwidth(thin))  saving(sqmeth1.gph, replace) title(Status Quo Strategies)
 
  twoway   (rcap app_lb app_ub order if group == "all" , lc(black) lw(medthick) horizontal)  (scatter order  app_mean  if group == "all" , msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap app_lb app_ub order if group == "dem", lc(blue) lw(thin) horizontal)  (scatter order   app_mean  if group == "dem" , msize(small) mc(blue) msymbol(square)) ///
(rcap app_lb app_ub order if group == "rep" , lc(red) lw(thin) horizontal)  (scatter order   app_mean  if group == "rep" , msize(small) mc(red) msymbol(diamond)), ///
 ylabel("")  xlabel(-.75(.25).75) ///
 ytitle("") xtitle(Appetite for Own Company Engaging) plotregion(style(none)) yscale(noextend) xscale(noextend) ///
 legend(on order(4 "Business Dems." 2 "All Biz. Leaders" 6 "Business Reps.") size(small) rows(1) region(lcolor(none))) scale(.8) fxsize(55)  saving(sqmeth2.gph, replace) title(Appetite for Strategies) xline(0, lcolor(black) lwidth(medthin)) text(4.5 -.35 "Want LESS", box bcolor(gs15)) text(4.5 .35 "Want MORE", box bcolor(gs15))
 
 graph combine sqmeth1.gph sqmeth2.gph, rows(1)
 
 
 ***FIGURE 5***
 import excel engagement_paper_stats.xlsx, sheet("newmeth") clear first
replace mean = mean*100
replace lb = lb*100 
replace ub = ub*100 

replace order = order -7 if area == "None"
replace order = order -.3 if elite == 0 


  twoway (rcap lb ub order if group == "all" & elite == 0, lc(black%50) lw(medthick) horizontal)  (scatter order  mean  if group == "all" & elite == 0, msize(medlarge) mc(black%50) msymbol(circle_hollow)) ///
 (rcap lb ub order if group == "dem" & elite == 0, lc(blue%50) lw(thin) horizontal)  (scatter order  mean  if group == "dem" & elite == 0, msize(small) mc(blue%50) msymbol(square_hollow)) ///
(rcap lb ub order if group == "rep" & elite == 0, lc(red%50) lw(thin) horizontal)  (scatter order  mean  if group == "rep" & elite == 0, msize(small) mc(red%50) msymbol(diamond_hollow)) ///
  (rcap lb ub order if group == "all" & elite==1, lc(black) lw(medthick) horizontal)  (scatter order  mean  if group == "all" & elite==1, msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap lb ub order if group == "dem" & elite==1, lc(blue) lw(thin) horizontal)  (scatter order mean if group == "dem" & elite==1, msize(small) mc(blue) msymbol(square)) ///
(rcap lb ub order if group == "rep" & elite==1, lc(red) lw(thin) horizontal)  (scatter order  mean  if group == "rep" & elite==1, msize(small) mc(red) msymbol(diamond)), ///
 ylabel(0 "None of the Above" 1 "Lobbyists Meet Lawmakers" 2 "Workers Meet Lawmakers" 3 "Execs. Meet Lawmakers" 4 "Mobilize Customers" 5 "Paid Time Off for Activism" 6 "Mobilize Employees", angle(0)) ///
 ytitle("") xtitle(Percent Supporting Method) plotregion(style(none)) yscale(noextend) xscale(noextend) ///
 legend(on order(4 "CES Dems." 2 "CES All" 6 "CES Reps." 10 "Business Dems." 8 "All Biz. Leaders" 12 "Business Reps.") size(small) rows(2) region(lcolor(none))) scale(.8) xsize(5) ysize(7) xlabel(0(20)70) xline(0 10 20 30 40 60 70 80, lpattern(dash) lcolor(gs10) lwidth(vthin)) xline(50,  lcolor(gs8) lwidth(thin))   

  
  ***FIGURE 6***
  import excel engagement_paper_stats.xlsx, sheet("conseq") clear first

 twoway   (rcap lb ub order if group == "all" , lc(black) lw(medthick) horizontal)  (scatter order  mean  if group == "all" , msize(medlarge) mc(black) msymbol(circle)) ///
 (rcap lb ub order if group == "dem", lc(blue) lw(thin) horizontal)  (scatter order  mean  if group == "dem" , msize(small) mc(blue) msymbol(square)) ///
(rcap lb ub order if group == "rep" , lc(red) lw(thin) horizontal)  (scatter order  mean  if group == "rep" , msize(small) mc(red) msymbol(diamond)), ///
 ylabel(1 "Own View of Company" 2 "Brand Favorability" 3 "Employee Morale" 4 "Profitability", angle(0)) ///
 ytitle("") xtitle(Perceived Effect of Political Activity) plotregion(style(none)) yscale(noextend) xscale(noextend) ///
 legend(on order(4 "Business Dems." 2 "All Biz. Leaders" 6 "Business Reps.") size(small) rows(1) region(lcolor(none))) scale(.7)    xlabel(-.75(.25).75)  xline(0, lcolor(black) lwidth(medthin)) text(2.5 -.35 "NEGATIVE Impact", box bcolor(gs15)) text(2.5 .35 "POSITIVE Impact", box bcolor(gs15))  saving(conseq.gph, replace) title(Perceived Consequences of Firm Politicization) fysize(70)

  

